import { NestFactory } from '@nestjs/core';
import { NestExpressApplication } from '@nestjs/platform-express';
import { AppModule } from './app.module';
import Validate from './common/validate';
import { ValidateExceptionFilter } from './common/validate-exception.filter';
import { TransformInterceptor } from './transform.inteceptor';

async function bootstrap() {
  const app = await NestFactory.create<NestExpressApplication>(AppModule); // 设置静态目录必须添加NestExpressApplication泛型
  //使用管道处理错误消息
  app.useGlobalPipes(new Validate());
  // 使用验证过滤处理错误消息 可将上方数据进行更准确的处理
  // app.useGlobalFilters(new ValidateExceptionFilter());
  // 使用自定义响应拦截器 对返回的数据做处理
  app.useGlobalInterceptors(new TransformInterceptor());
  // 设置api接口前缀
  app.setGlobalPrefix('api');
  // 设置静态目录 (图片地址观看不了可以使用)
  app.useStaticAssets('uploads', { prefix: '/uploads' });
  await app.listen(3000);
}
bootstrap();
